<?php
class ANotaDebitoBanco
{
	public function __construct() {}
	public function actualizarCuentas(EFacade & $facade) 
	{
		
		
		epLoadConfig('../config.xml');

		$m = epManager::instance();
		$doc = & $facade->getDocumentRoot();
	    $workflowNDC = & $facade->getWorkflow();
		$ezpdo_= getManager();
		$role=NULL;
		if(($doc->cuentaBancaria->saldo + $doc->monto) >= 0){
			$doc->cuentaBancaria->saldo = $doc->cuentaBancaria->saldo - $doc->monto;
			$transaccion = $m->create('MTransaccion');
			$transaccion->esBanco = TRUE;
			$transaccion->fechaTransaccion = time();
			$transaccion->montoTransaccion = $doc->monto;
			$transaccion->debe = $doc->monto;
			$descripcion="Nota de debito ".$doc->concepto;
			$transaccion->descripcion = $descripcion;
			$transaccion->cuentaBanco = $doc->cuentaBancaria;
			$transaccion->documento = $doc;	
			$transaccion->saldoCuenta = $doc->cuentaBancaria->saldo;
			$transaccion->commit();
			$doc->cuentaBancaria->cuentaContable->disminuye($doc->monto,$doc);
			$doc->cuentaBancaria->cuentaContable->commit();
			$doc->cuentaBancaria->commit();
		}
		
		$doc->fecha = date('U');
		$doc->epSetDirty(TRUE); 
		$workflowNDC->epSetDirty(TRUE);
		$facade->saveWorkflow();
		$doc->commit();
		$doc->numero = $doc->getDocumentNumber();
		$doc->commit();
		$transSetSA = & EFacade :: getCurrentTransSetAuto($workflowNDC, 2);
		$role=NULL;
		$transSA = $transSetSA->getTransByName('t2');
		$facade->fireTrans($transSA,$role,'actualizar cuentas', TRUE);
		
	}
}
?>